SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 49792: Display Order errors prevent a successful Model Import into SAS® Activity-Based Management 7.1

DetailsHotfixAboutRate It
If you import staging tables or a Model XML into SAS Activity-Based Management 7.1 to create a new model, you might encounter the following errors:
Error Description: The Display Order of the dimension members under the same parent is the same.

Details: The Display Order of the dimension members under the parent "GL" have the same value. 
Change their Display Order values in the source Dimension Member table and import the model again.

Model is invalid
Details: This model does not have the necessary entries into the database. Hence it is an invalid model
You might also encounter Display Order errors when you attempt to update an existing model. In the above errors, there is a Display Order problem with at least one dimension member for the GL, or General Ledger, dimension. It is probable that the dimension referenced in your error will be different.

You can follow the workaround steps to create staging tables that can be successfully imported to create a new model, but only if the model XML or staging tables that you attempted to import (which generated the above error) were created by an export of an existing SAS Activity-Based Management model.

Workaround

  1. In the SAS Activity-Based Management Client, select File ► Export ► Model Data .
  2. At Step 1 in the Export Wizard, choose Select specific tables and properties.
  3. At Step 2 in the Export Wizard, configure your connection string and select your model that has duplicate DisplayOrder values along with the appropriate period/scenario(s).
  4. At Step 3 in the Export Wizard, click the Select All button so that all tables are selected.

    Note: Deselect the ResourceContribution and the MultiStageContribution tables because they are not required.

  5. You can accept default selections for Steps 4 through 6 in the Export Wizard.
  6. At Step 7 in the Export Wizard, ensure that the DimensionMember table ► DisplayOrder column is not checked.
  7. Review your selections at Step 8 in the Export Wizard and click Finish.
  8. If the exported DimensionMember table is viewed, you will notice that there is no DisplayOrder column, as shown here in Figure 1:
  9. DimensionMember table
    Figure 1



  10. Import the staging tables just exported to create a new model. Because the DimensionMember table does not include the DisplayOrder column, SAS Activity-Based Management creates new DisplayOrder values that are unique for each dimension member.

The model created in Step 9 can be exported to XML if you would like an XML copy of your model that does not have the Display Order problem.

Additional Information

If you are satisfied with the above workaround, then you do not need to read the following information. However, you might find this information helpful because it can be leveraged to help you:

  • understand the root cause of the problem to prevent it from occurring in the future
  • resolve the problem by editing the DimensionMember table without implementing the workaround

The Display Order error is caused by an issue in the import algorithm. Here is an example. If you update an existing SAS Activity-Based Management model by importing the DimensionMember table, where the optional DisplayOrder field is not assigned, as shown in Figure 2, below, the import will be successful. You will be able to work in the updated model, calculate the model, and generate cubes for it. You will also be able to successfully export the model.

DimensionMember
Figure 2



But if you then attempt to import the model that was just exported, you might encounter the errors shown above. If you view the exported DimensionMember table, you would see a duplicate DisplayOrder value. In this example, both Equipment Expenses and MoreExpenses have a DisplayOrder of 10, as shown below in Figure 3:

Duplicate DisplayOrder
Figure 3



In this example, the DisplayOrder of 10 for MoreExpenses was assigned by SAS Activity-Based Management during the import.

To prevent this problem from being introduced into your model, you can ensure that any model updates that include the DimensionMember table also include the DisplayOrder field and that the DisplayOrder specified will not create a duplicate. Using Figure 2 from above as an example, if the DimensionMember entry was like that shown below in Figure 4, then the DisplayOrder for MoreExpenses would be set to 40, thus preventing the duplicate DisplayOrder value (shown in Figure 3) from being introduced into the model.

DimensionMember Fix
Figure 4



If the duplicate DisplayOrder has already been introduced into your model, as shown in Figure 3, and the model was exported without following the above workaround, then you can edit your Model XML or the DimensionMember staging table and correct any DisplayOrder duplicates per Dimension Member. Figure 5 shows a correction of the duplicate DisplayOrder from Figure 3:

Duplicate DisplayOrder Fix
Figure 5

After the Model XML or DimensionMember staging table has been corrected and there are no duplicate Dimension Members per Dimension, you should be able to successfully import your model tables.

In SAS Activity-Based Management 7.2, the Display Order problem has been resolved via a hot fix, as documented in SAS Note 49959.

Click the Hot Fix tab in this note to access the hot fix for this issue.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Activity-Based ManagementMicrosoft® Windows® for x647.18.19.2 TS2M39.4 TS1M0
Microsoft Windows Server 2003 Datacenter Edition7.19.2 TS2M3
Microsoft Windows Server 2003 Enterprise Edition7.19.2 TS2M3
Microsoft Windows Server 2003 Standard Edition7.19.2 TS2M3
Microsoft Windows Server 2003 for x647.19.2 TS2M3
Microsoft Windows Server 20087.19.2 TS2M3
Microsoft Windows Server 2008 for x647.18.19.2 TS2M39.4 TS1M0
Microsoft Windows XP Professional7.19.2 TS2M3
Windows 7 Enterprise 32 bit7.19.2 TS2M3
Windows 7 Enterprise x647.18.19.2 TS2M39.4 TS1M0
Windows 7 Home Premium 32 bit7.19.2 TS2M3
Windows 7 Home Premium x647.19.2 TS2M3
Windows 7 Professional 32 bit7.19.2 TS2M3
Windows 7 Professional x647.18.19.2 TS2M39.4 TS1M0
Windows 7 Ultimate 32 bit7.19.2 TS2M3
Windows 7 Ultimate x647.19.2 TS2M3
Windows Vista7.19.2 TS2M3
Windows Vista for x647.19.2 TS2M3
64-bit Enabled AIX7.18.19.2 TS2M39.4 TS1M0
64-bit Enabled Solaris7.18.19.2 TS2M39.4 TS1M0
Linux for x647.18.19.2 TS2M39.4 TS1M0
Solaris for x647.18.19.2 TS2M39.4 TS1M0
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.